/*================================================================
*   Copyright (C) 2017 LiuYao. All rights reserved.
*   
*   Filename : factory.h
*   Author : LiuYao
*   Date : 2017-12-27
*   Description : the node factory, the createNode provide the 
*                 the public access function, the hook function
                  provide the concrete implementation.
*
================================================================*/
#ifndef _FACTORY_H
#define _FACTORY_H

#include "../graph/node.h"
#include "../graph/graph.h"

class Factory {
    public:
        Node * createNode(); 
        ~Factory() = default;
    
    protected:
        virtual Node* hook() = 0;
        
};

#endif
